const http = require('http')
const fs = require('fs')
const path = require('path')

http.createServer((req, res) => {
    if (req.url == '/') {
        var fileContent = fs.readFileSync('./upload.html')
        res.writeHead(200, { "Content-Type": "text/html;charset=utf8" })
        res.end(fileContent)
    }
    else if(req.url=='/upload'){
        var str = ''
        // 设置编码格式
        req.setEncoding('binary')
        req.on('data', (chunk) => {
            str += chunk
        })
        req.on('end', () => {
            console.log(str)
            var arr=str.split('\r\n')
            // 把图片的数据截取出来
            var imgArr=arr.splice(4,arr.length-2)
            console.log(imgArr)
            // 把被切割的字符串再拼回去，图片的buffer数据的字符串形式
            var imgStr=imgArr.join('\r\n')
            // 将图片数据由字符串转化为buffer形式(buffer数据采用binary编码格式，相同的buffer数据采用不同的编码格式会出现不同的结果)
            var buf=Buffer.from(imgStr,'binary')
            // 向文件夹里写入图片
            fs.writeFileSync(path.join(__dirname,"/img/1.png"),buf,{"encoding":"binary"})
        })
    }

}).listen(8081)

console.log('server is listening 8081')